package com.yfp.operation.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 *
 * @version 1.0
 * @date 2024-12-06 13:43
 */
@Data
public class AssociationVO {

    /**
     * 点位名称
     */
    @Schema(description = "点位名称")
    @Excel(name = "点位名称", needMerge = true, sort = 1)
    private String positionName;

    /**
     * 点位id
     */
    @Schema(description = "点位id")
    private String positionId;

    /**
     * 社群个数
     */
    @Schema(description = "社群个数")
    @Excel(name = "社群个数", needMerge = true, sort = 2)
    private Integer associationNum;

    /**
     * 客服名称
     */
    @Schema(description = "客服名称")
    @Excel(name = "客服人员", needMerge = true, sort = 3)
    private String operationName;

    /**
     * 社群名称
     */
    @Schema(description = "社群名称")
    private String associationName;

    /**
     * 成员数量
     */
    @Schema(description = "成员数量")
    @Excel(name = "成员数量", needMerge = true, sort = 4)
    private Integer member;

    /**
     * 新增用户数
     */
    @Schema(description = "新增用户数")
    @Excel(name = "新增用户数", needMerge = true, sort = 5)
    private Integer newClientNum;

    /**
     * 下单用户数
     */
    @Schema(description = "下单用户数")
    @Excel(name = "下单用户数", needMerge = true, sort = 6)
    private Integer buyClientNum;

    /**
     * 转化率
     */
    @Schema(description = "转化率")
    @Excel(name = "转化率", needMerge = true, sort = 7, scale = 2, suffix = "%")
    private BigDecimal conversionRate;

    /**
     * 新客下单用户数
     */
    @Schema(description = "新客下单用户数")
    @Excel(name = "新客下单用户数", needMerge = true, sort = 8)
    private Integer buyNewClientNum;

    /**
     * 新客下单占比
     */
    @Schema(description = "新客下单占比")
    @Excel(name = "新客下单占比", needMerge = true, sort = 9, scale = 2, suffix = "%")
    private BigDecimal newClientBuyProportion;

    /**
     * 复购率
     */
    @Schema(description = "复购率")
    @Excel(name = "复购率", needMerge = true, sort = 10, scale = 2, suffix = "%")
    private BigDecimal repeatedlyBuyRate;

    /**
     * 退款率
     */
    @Schema(description = "退款率")
    @Excel(name = "退款率", needMerge = true, sort = 11, scale = 2, suffix = "%")
    private BigDecimal refundRate;

    /**
     * 退群率
     */
    @Schema(description = "退群率")
//    @Excel(name = "退群率", needMerge = true, sort = 12, scale = 2, suffix = "%")
    private BigDecimal exitRate;

    /**
     * 留存率
     */
    @Schema(description = "留存率")
    @Excel(name = "留存率", needMerge = true, sort = 13, scale = 2, suffix = "%")
    private BigDecimal keepRate;

    /**
     * 客单价
     */
    @Schema(description = "客单价")
    @Excel(name = "客单价", needMerge = true, sort = 14, scale = 2)
    private BigDecimal averagePrice;

    /**
     * 社群id
     */
    private String groupChatId;

    /**
     * 复购数
     */
    private Integer repeatedlyBuyNum;

    /**
     * 购买人数
     */
    private Integer buyNum;

    /**
     * 下单订单数
     */
    private Integer purchaseNum;

    /**
     * 退款数量
     */
    private Integer refundNum;

    /**
     * 销售gmv
     */
    private BigDecimal saleMoney;



}
